iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Security

電腦漏洞與入侵系列 第 6

Day 6 - XSS (跨網站指令碼)(下)

  • 分享至 

  • xImage
  •  

儲存型XSS

儲存型XSS(stored xss/persistent xss)的攻擊方式是讓JavaScript存在該網站的資料庫當中。通常發生在論壇、無名小站這類型會有留言版的網站。當你瀏覽該網站的時候,網站會讀取留言板的內容,同時間儲存在資料庫的惡意程式碼就會被執行。

https://ithelp.ithome.com.tw/upload/images/20230921/20163316TgR9u9q8fK.png

在XSS類型的攻擊手法中,是最為危險的一種。為什麼呢?因為不像昨天提到的反射型XSS,它不需要你去點擊具有惡意程式碼的網址。


著名事件

https://images.ctfassets.net/urossqgzoxpu/5vEzDwFCbBxLpfkwu3zdRE/e752e82145991d4ce570500f514fbfd5/Samy_Kamkar__finals8986.jpg?w=2200

XSS攻擊的著名事件,一定得提到2005年MySpace的薩米蠕蟲。一開始薩米僅僅是想測試有沒有方法可以騙過MySpace做出不允許用戶做出的行為,像是原本只允許用戶上傳至多12張相片,後面他也成功上傳13張相片。在這之後薩米為了增加自己與女友在網站的「關係」條目,再次騙過了MySpace新增了熱戀中。這時候他意識到自己可以在這網站中為所欲為。

後面一個禮拜薩米寫出了能夠自我複製的電腦蠕蟲,當有訪問者訪問他的MySpace頁面的時候就會自動感染,並將病毒也複製到他們自己的MySpace主頁。它會讓受害者自動對薩米發動好友申請,並且修改自己主頁並留下「but most of all, samy is my hero」的字串。

這起事件重要的原因在於它某種意義上開啟了XSS攻擊隱患的注意,當時約有8至9成的網頁都容易受到類似的攻擊。畢竟如果薩米有那個企圖的話,他甚至可以盜取所有人的資料。


如何去防範XSS

在檢測一個網站的時候,一般都是用alert的彈框看看存不存在XSS漏洞:

<script>alert(1)</script>

要防止XSS的存在或是阻止XSS的執行也有多種方法比如

  • 特殊字元做escape

    <做escape變成%lt,這樣就不會被當成html的標籤來做解析

  • CSP (Content-Security-Policy)

    以下是來自Microsoft網站的解釋

    內容安全性原則 (CSP) 是額外的安全性層,協助偵測和緩解某些類型的網路攻擊,例如資料竊取、網站篡改或惡意軟體的分發。 CSP 提供一組廣泛的原則指令,可協助您控制允許載入網站頁面的資源。 每個指令都會定義特定資源類型的限制。

    簡單來說就是告訴瀏覽器那些外部資源是可以下載哪些不可以,類似白名單的機制


參考資料

儲存型XSS的攻防:不想做開發的黑客不是好黑客
淺談 XSS 攻擊與防禦的各個環節
管理您網站的內容安全性原則
科技: 徹底改變了網際網路的 MYSPACE 蠕蟲病毒
The MySpace Worm that Changed the Internet Forever


上一篇
Day 5 - XSS (跨網站指令碼)(上)
下一篇
Day 7 - 特洛伊木馬 (Trojan Virus)(上)
系列文
電腦漏洞與入侵30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言